using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Styx.Helpers;
using System.IO;
using Styx;
using Styx.Common;
using System.ComponentModel;
using DefaultValue = Styx.Helpers.DefaultValueAttribute;


namespace ElementalMyDear
{
    public class ShammySettings : Settings
    {
        public static readonly ShammySettings myPrefs = new ShammySettings();
        public ShammySettings()
            : base(Path.Combine(Utilities.AssemblyDirectory, string.Format(@"Config/Pasterke/ElementalMyDear/{0}-ShammySettings-{1}-{2}.xml", StyxWoW.Me.RealmName, StyxWoW.Me.Name, StyxWoW.Me.Specialization)))
        {
        }
        [Setting, DefaultValue(true)]
        public bool DisableMovement { get; set; }

        [Setting, DefaultValue(true)]
        public bool DisableFacing { get; set; }

        [Setting, DefaultValue(true)]
        public bool Targetting { get; set; }

        [Setting, DefaultValue(0)]
        public int Mtrinket1 { get; set; }

        [Setting, DefaultValue(0)]
        public int Mtrinket2 { get; set; }

        [Setting, DefaultValue(0)]
        public int Mengibelt { get; set; }

        [Setting, DefaultValue(0)]
        public int Mengivloves { get; set; }

        [Setting, DefaultValue(0)]
        public int engibeltpercent { get; set; }

        [Setting, DefaultValue(0)]
        public int searingtotem { get; set; }

        [Setting, DefaultValue(0)]
        public int magmatotem { get; set; }

        [Setting, DefaultValue(0)]
        public int fireelementaltotem { get; set; }

        [Setting, DefaultValue(0)]
        public int earthelementaltotem { get; set; }

        [Setting, DefaultValue(3)]
        public int startaoe { get; set; }

        [Setting, DefaultValue(0)]
        public int thunderstorm { get; set; }

        [Setting, DefaultValue(0)]
        public int MAlchemyFlask { get; set; }

        [Setting, DefaultValue(0)]
        public int lifebloodYorN { get; set; }

        [Setting, DefaultValue(0)]
        public int lifeblood { get; set; }

        [Setting, DefaultValue(0)]
        public int healthstone { get; set; }

        [Setting, DefaultValue(0)]
        public int healthstonepercent { get; set; }

        [Setting, DefaultValue(0)]
        public int healthpotion { get; set; }

        [Setting, DefaultValue(0)]
        public int healthpotionpercent { get; set; }

        [Setting, DefaultValue(0)]
        public int LifeSpirit { get; set; }

        [Setting, DefaultValue(0)]
        public int LifeSpiritpercent { get; set; }

        [Setting, DefaultValue(0)]
        public int naruu { get; set; }

        [Setting, DefaultValue(0)]
        public int naruupercent { get; set; }

        [Setting, DefaultValue(0)]
        public int MIntellectFlask { get; set; }

        [Setting, DefaultValue(0)]
        public int MIntellectFlaskWhen { get; set; }

        /*[Setting, DefaultValue(0)]
        public int test { get; set; }*/

        [Setting, DefaultValue(0)]
        public int IntPotionsYesNo { get; set; }

        [Setting, DefaultValue(0)]
        public int IntPotionsKind { get; set; }

        [Setting, DefaultValue(0)]
        public int IntPotionsWhen { get; set; }

        [Setting, DefaultValue(0)]
        public int HealingStreamTotem { get; set; }

        [Setting, DefaultValue(0)]
        public int bloodlust { get; set; }

        [Setting, DefaultValue(0)]
        public int ascendance { get; set; }

        [Setting, DefaultValue(0)]
        public int earthquake { get; set; }

        [Setting, DefaultValue(1)]
        public int healingsurge { get; set; }

        [Setting, DefaultValue(75)]
        public int healingsurgeOOCpercent { get; set; }

        [Setting, DefaultValue(55)]
        public int healingsurgepercent { get; set; }

        [Setting, DefaultValue(35)]
        public int eatpercent { get; set; }

        [Setting, DefaultValue(35)]
        public int drinkpercent { get; set; }

        [Setting, DefaultValue(0)]
        public int bloodfury { get; set; }

        [Setting, DefaultValue(0)]
        public int berserking { get; set; }

        [Setting, DefaultValue(3)]
        public int elitehealth { get; set; }

        [Setting, DefaultValue(0)]
        public int PauseKey { get; set; }

        public enum Keypress
        {
            None,
            RSHIFT,
            LSHIFT,
            LCTRL,
            RCTRL,
            LALT,
            RALT
        }; 

        [Setting, DefaultValue(Keypress.None)]
        public Keypress PauseKeys { get; set; }

        [Setting, DefaultValue(true)]
        public bool PrintMsg { get; set; }

        [Setting, DefaultValue(0)]
        public int shamanisticrage { get; set; }

    }
}
